package com.stars.services.mygenerate;

import com.stars.common.base.ResultMsg;
import com.stars.entity.mygenerate.CgFormHead;
import com.stars.entity.mygenerate.TemplateTableConfig;

import java.util.Map;

/**
 * @author csot.qhluodajie on 2019/1/8.
 */
public interface MyGenerateService {
    /**
     *根据表id
     * @param ids ids 表名id
     * @return
     */
    ResultMsg autoCodeGenerateFtl(String ids) throws Exception;

    ResultMsg autoCodeBtl(String ids) throws Exception;

    /**
     * 同步数据库
     * @param ids
     * @return
     * @throws Exception
     */
    ResultMsg autoDbGenerate(String ids)throws Exception;
    /**
     *  读取配制模板
     * @param ftlName 模板名称
     * @param outFilePath 生成位置
     * @param map 模板数据 flt
     *  @param generateName 生成文件名称+后缀 如.java
     * @return
     */
    void freemarker(String ftlName, String outFilePath, String generateName, Map<String, Object> map)throws Exception;

    /**
     * 获取数据库表信息
     * @param cgFormHead  表名id
     * @return
     */
    TemplateTableConfig getTableType(CgFormHead cgFormHead) throws Exception;
}
